The present invention relates generally to peripheral devices, and particularly to methods of receiving control commands at peripheral devices.
Host computers and other electronic devices can connect to a wide variety of peripheral devices using a Universal Serial Bus (USB) interface. Mass storage devices, communication cards, MP3 players, and printers are but a few examples of USB compatible devices. The USB interface, which is well-known in the art, allows peripheral devices to employ standard connectors, and to be connected and disconnected to the host device without re-booting the host device. USB interfaces may also provide some peripheral devices with an external source of power.
To operate, USB-compatible peripheral devices require one or more device drivers to be installed on the host device. A device driver is a software program that allows an operating system on the host device to communicate with the USB peripheral device. Although most operating systems include generic device drivers that facilitate communication with a wide array of peripheral devices, they typically do not support all peripheral devices. For example, some peripheral devices are capable of performing special functions and, thus, may require special device drivers to extend their capabilities. Therefore, users may need to load proprietary device drivers provided by the manufacturer of the peripheral device to operate the peripheral device. Manufacturers often distribute such special device drivers on Compact Disks (CDs), or make them available for download over the Internet.
There are circumstances where it may be desirable to send commands from a host device to a peripheral device using generic WINDOWS class drivers. For example, manufacturers may store the specialized device drivers in a memory on the peripheral device itself. When the user connects the peripheral device to the host, the peripheral device may initially present itself as mass storage device to avoid unknown device errors until the proper drivers are installed. An “autorun” program stored in the peripheral device memory automatically executes to install the device drivers on the host device. Once the correct drivers are installed, the host device can issue a command to the peripheral device to switch to a normal mode. It would be convenient to use the generic WINDOWS class drivers for a mass storage device to send the switch mode command.